package strategy

//决策接口，有很多实际的决策
type Travel interface {
	transportation() string
}

//////////////////////////////
type Airplane struct{}

func CreateAirplane() *Airplane {
	return new(Airplane)
}

func (trans Airplane) transportation() string {
	return "飞机"
}

//////////////////////////////
type Train struct{}

func CreateTrain() *Train {
	return new(Train)
}

func (trans Train) transportation() string {
	return "火车"
}

//////////////////////////////
type Car struct{}

func CreateCar() *Car {
	return new(Car)
}

func (trans Car) transportation() string {
	return "自驾"
}
